package com.qzsoft.zhjd.asphalt.modules.asphaltdatasieve.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qzsoft.zhjd.asphalt.modules.asphaltdatasieve.dto.AsphaltDataSievingAvgDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltdatasieve.dto.AsphaltDataSievingDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltdatasieve.dto.ProduceSievePassRateDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltdatasieve.entity.AsphaltDataSieveEntity;

/**
 * @ClassName AsphaltDataSieveService
 * @Description 筛孔业务接口
 * @author linhuawei
 * @since 2021-12-04
 */
public interface AsphaltDataSieveService extends IService<AsphaltDataSieveEntity> {

    /**
     * @Title pageDto
     * @Description 获取筛孔数据分页
     * @param params 查询条件
     * @return 筛孔数据分页
     */
    public IPage<AsphaltDataSievingDto> pageDto(Map<String, Object> params);

    /**
     * @Title produceSievePassRate
     * @Description 关键筛孔通过率
     * @param params 查询条件
     * @return 关键筛孔通过率
     */
    public List<ProduceSievePassRateDto> produceSievePassRate(Map<String, Object> params);

    /**
     * @Title getSievingAvg
     * @Description 获取筛孔平均值
     * @param params 查询条件
     * @return 筛孔平均值
     */
    public AsphaltDataSievingAvgDto getSievingAvg(Map<String, Object> params);

    /**
     * @Title listForDay
     * @Description 获取全天筛孔数据
     * @param stationCode 拌和站编号
     * @param matchCode   级配编号
     * @param day         日期
     * @return 全天筛孔数据
     */
    public List<AsphaltDataSieveEntity> listForDay(String stationCode, String matchCode, String day);

    /**
     * @Title avgForDay
     * @Description 获取全天筛孔平均值
     * @param stationCode 拌和站编号
     * @param matchCode   级配编号
     * @param day         日期
     * @return 全天筛孔平均值
     */
    public AsphaltDataSievingAvgDto avgForDay(String stationCode, String matchCode, String day);

}
